VSCode のイベント見る
キーバインドなどが変な時
操作しつつ実行されるコマンドを見る
Developer: Toggle Developer Tools で開発者ツールを起動
Developer: Set Log Level でログレベルを Trace にする
ドキュメントに書いてあるけど、1~2行の記述なので実際どういう感じやねんとなるのでログを出す
Terminal や ColorTheme はまあまあどうでもいいけども
code:listenEvents.ts
const listenEvents = <
N extends keyof typeof vscode,
H extends keyof typeof vscodeN (
namespace: N,
handlers: H[]
) => {
handlers.forEach((h) => {
if (typeof fn === "function") {
fn((event: any) => console.log(${namespace}.${h}, event));
}
});
};
listenEvents("window", [
"onDidChangeActiveColorTheme",
"onDidChangeActiveTerminal",
"onDidChangeActiveTextEditor",
"onDidChangeTextEditorOptions",
"onDidChangeTextEditorSelection",
"onDidChangeTextEditorViewColumn",
"onDidChangeTextEditorVisibleRanges",
"onDidChangeVisibleTextEditors",
"onDidChangeWindowState",
"onDidCloseTerminal",
"onDidOpenTerminal",
]);
listenEvents("workspace", [
"onDidChangeConfiguration",
"onDidChangeTextDocument",
"onDidChangeWorkspaceFolders",
"onDidCloseTextDocument",
"onDidCreateFiles",
"onDidDeleteFiles",
"onDidOpenTextDocument",
"onDidRenameFiles",
"onDidSaveTextDocument",
"onWillCreateFiles",
"onWillDeleteFiles",
"onWillRenameFiles",
"onWillSaveTextDocument",
]);
wndow.onDidChangeTextEditorSelection
カーソル動いたら発火する
selections に範囲(start, end)や active が入ってる
window.onDidChangeActiveTextEditor
1. 分割したエディタが移ったら
同時に onDidChangeTextEditorSelection もカーソル位置で発火する
window.onDidChangeWindowState
1. window 単位の focus が移ったら発火
window.onDidChangeVisibleTextEditors
1. エディタ分割(グループ作成, close)の際に発火
Array で見えているエディタが渡ってくる、3分割なら length==3